鯊魚今天想要吃拉麵!!!
鯊魚要趕快完成鐵人賽文章,然後去吃拉麵。
因為Object types(物件型別)裡面就有一個型別叫做Object(物件)
在理解什麼是Object types(物件型別)的時候,很容易歪到Object(物件)
那什麼是Object types(物件型別)呢?這個問題很難給予一個明確的答案
Object types(物件型別)的內容很多,而且個別的差異很大
很難給予一個解釋去概括他們,所以只能從反方向去解釋
依據犀牛第七版(指JavaScript大全,這本書的封面是一隻犀牛,所以有這個稱呼)的說法
任何不是數字(number及bigint)、字串(string)、Boolean值、符號(symbol)、
null或undefined的JavaScript值都是Object types(物件型別)
更簡略的說,只要不是Primitive types(基礎型別)的都是Object types(物件型別)
常用的Object types(物件型別)有下面幾種,這邊先做簡單的概述:
// 創建一個物件shark
let shark ={situation:"相當的飢餓",wantEat:"拉麵"};
// 呼叫物件shark,可以看到object(物件)的整體
shark
{situation: '相當的飢餓', wantEat: '拉麵'}
如果要個別呼叫單獨呼叫object(物件)裡面的內容,就要利用物件key去呼叫對應的value
// 方法有兩種:一是在物件名稱後面加上一個.(dot)之後再接一個key
shark.situation
// '相當的飢餓'
// 其二:在物件名稱後面用一組[]裡面放入key的字串
shark["wantEat"]
// '拉麵'
// 就能呼叫出相對應的value值了
let sharkEat = ["醬油拉麵","招牌豚骨拉麵"]
// 呼叫物件sharkEat,可以看到array(陣列)的整體
sharkEat
// (2) ['醬油拉麵', '招牌豚骨拉麵']
如過要個別呼叫array(陣列)的value,就要運用array(陣列)的索引
依排列的順序,作為呼叫他們的key,第一個value的索引是0,後面索引依序增加
sharkEat[0]
// '醬油拉麵'
sharkEat[1]
// '招牌豚骨拉麵'
// 就能呼叫出相對應的value值了
function 函式名稱(輸入的參數){
要執行的運算
};
function output(name){
console.log(`Hello,I'm ${name}`)
};
其中這個函式名稱叫做output,呼叫的時候就是用函式名稱去呼叫這個函式
輸入的參數為name,為下面運算是要用的的數據,可0個或是多個
要執行的運算式console.log(`Hello,I'm ${name}.`)
試著呼叫這個函式,並將Shark當作參數傳入裡面,如下面演示
output("Shark")
//Hello,I'm Shark.
之前說過沒有宣告的變數或是經過var宣告的參數都會被做稱作全域變數
那什麼是全域,全域完整德稱呼是Gobal object(全域物件)
是一個JavaScript必定會先載入的預設環境
可以不需要經過宣告賦值/定義就能直接使用的變數/函式都是全域物件的東西
就像是之前常用的console.log(),就是全域物件預設好的function
如過放在瀏覽器上面,就是window,可以用window去窺視他的全貌
window
// Window {window: Window, self: Window, document: document, name: '', location: Location, …}
每個分頁都會賦予一個全新的Gobal object,彼此間不會相互衝突
而全域物件跟一般物件在運用上有一個不一樣的地方,
呼叫他的key時候不需要加上物件名(但也可以加)
就像下面這樣
window.console.log("鯊魚想吃拉麵")
console.log("鯊魚想吃拉麵")
// 鯊魚想吃拉麵
// 都可以執行,而且結果都一樣
鯊魚想吃拉麵,所以鯊魚很努力的完成他了
JavaScript的八種型別都先簡單的概述一遍了,入門已經結束,
JavaScript很多觀念都是環環相扣的,我希望能先概略認識他們一遍之後
才開始更深入地去了解它們了。
不然研究到一半碰到新東西,又會是滿頭困惑,
循序漸進很重要,如果有更好的學習順序也歡迎讓鯊魚知道,
讓鯊魚有的更好的方法騙人引領新手進來這門領域。
參考資料
JavaScript大全第七版